Merge branch 'wip/otte/for-master' into 'master'
authorBenjamin Otte <otte.benjamin@googlemail.com>
Mon, 11 Oct 2021 18:36:20 +0000 (18:36 +0000)
committerBenjamin Otte <otte.benjamin@googlemail.com>
Mon, 11 Oct 2021 18:37:15 +0000 (18:37 +0000)
x11: Don't try to move destroyed windows

See merge request GNOME/gtk!4054

(cherry picked from commit d89e82d4a082febfe44d3504786fcab91eab62a3)

f40ce51a x11: Don't try to move destroyed windows

gdk/x11/gdksurface-x11.c

index dd1d0d3bd294659eb3bb24aafb2667a2ba423857..bdedcfc0f21fa4155c9c2f33b84bbefef0b7ad49 100644 (file)
@@ -1923,8 +1923,13 @@ gdk_x11_surface_update_popups (GdkSurface *parent)
     {
       GdkX11Surface *popup_impl = l->data;
       GdkSurface *popup = GDK_SURFACE (popup_impl);
-      int new_x = GDK_X11_SURFACE (parent)->abs_x + popup->x;
-      int new_y = GDK_X11_SURFACE (parent)->abs_y + popup->y;
+      int new_x, new_y;
+
+      if (GDK_SURFACE_DESTROYED (popup))
+        continue;
+
+      new_x = GDK_X11_SURFACE (parent)->abs_x + popup->x;
+      new_y = GDK_X11_SURFACE (parent)->abs_y + popup->y;
 
       if (new_x != popup_impl->abs_x || new_y != popup_impl->abs_y)
         x11_surface_move (popup, new_x, new_y);